//
// UART
//


#ifndef __HEADER_UART
#define __HEADER_UART


//
// Variable d'erreur
extern int uart_error;

// Initialise l'UART
void uart_init(void);

// Envoie un caractère
void uart_send_char(const char c);

// Permet d'envoyer des chaine de caractère. Celle-ci doit se terminer
//	par le caractère nul.
void uart_send_str(const char *data);

// Permet d'envoyer un entier signé
void uart_send_int(int n);

// Permet de savoir si la receive fifo est vide
int uart_is_receive_fifo_empty(void);

// Permet de recevoir une chaine de caractère.
// Bloque jusqu'a la reception de n-1 caractères, ou la reception
//	du caractère nul.
// NOTE : Un caractère nul est placé automatiquement en fin de
//	chaine contenu dans le buffer.
int uart_receive_str(char *buffer, unsigned int n);

// Permet de lire un entier signé.
// Renvoie la valeur lue
// NOTE : en cas d'erreur, uart_error est mis à -1
int uart_receive_int(void);


#endif
